/*
 * Copyright (c) 2024 Huawei Device Co., Ltd.
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: geocoding_data.proto

#ifndef GOOGLE_PROTOBUF_INCLUDED_geocoding_5fdata_2eproto
#define GOOGLE_PROTOBUF_INCLUDED_geocoding_5fdata_2eproto

#include <limits>
#include <string>

#include <google/protobuf/port_def.inc>
#if PROTOBUF_VERSION < 3013000
#error This file was generated by a newer version of protoc which is
#error incompatible with your Protocol Buffer headers. Please update
#error your headers.
#endif
#if 3013000 < PROTOBUF_MIN_PROTOC_VERSION
#error This file was generated by an older version of protoc which is
#error incompatible with your Protocol Buffer headers. Please
#error regenerate this file with a newer version of protoc.
#endif

#include <google/protobuf/port_undef.inc>
#include <google/protobuf/io/coded_stream.h>
#include <google/protobuf/arena.h>
#include <google/protobuf/arenastring.h>
#include <google/protobuf/generated_message_table_driven.h>
#include <google/protobuf/generated_message_util.h>
#include <google/protobuf/inlined_string_field.h>
#include <google/protobuf/metadata_lite.h>
#include <google/protobuf/message_lite.h>
#include <google/protobuf/repeated_field.h>  // IWYU pragma: export
#include <google/protobuf/extension_set.h>  // IWYU pragma: export
// @@protoc_insertion_point(includes)
#include <google/protobuf/port_def.inc>
#define PROTOBUF_INTERNAL_EXPORT_geocoding_5fdata_2eproto
PROTOBUF_NAMESPACE_OPEN
namespace internal {
class AnyMetadata;
}  // namespace internal
PROTOBUF_NAMESPACE_CLOSE

// Internal implementation detail -- do not use these members.
struct TableStruct_geocoding_5fdata_2eproto {
  static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTableField entries[]
    PROTOBUF_SECTION_VARIABLE(protodesc_cold);
  static const ::PROTOBUF_NAMESPACE_ID::internal::AuxiliaryParseTableField aux[]
    PROTOBUF_SECTION_VARIABLE(protodesc_cold);
  static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTable schema[5]
    PROTOBUF_SECTION_VARIABLE(protodesc_cold);
  static const ::PROTOBUF_NAMESPACE_ID::internal::FieldMetadata field_metadata[];
  static const ::PROTOBUF_NAMESPACE_ID::internal::SerializationTable serialization_table[];
  static const ::PROTOBUF_NAMESPACE_ID::uint32 offsets[];
};
namespace i18n {
namespace phonenumbers {
class CountriesInfo;
class CountriesInfoDefaultTypeInternal;
extern CountriesInfoDefaultTypeInternal _CountriesInfo_default_instance_;
class CountryCodeInfo;
class CountryCodeInfoDefaultTypeInternal;
extern CountryCodeInfoDefaultTypeInternal _CountryCodeInfo_default_instance_;
class GeocodingInfo;
class GeocodingInfoDefaultTypeInternal;
extern GeocodingInfoDefaultTypeInternal _GeocodingInfo_default_instance_;
class LanguageCodeInfo;
class LanguageCodeInfoDefaultTypeInternal;
extern LanguageCodeInfoDefaultTypeInternal _LanguageCodeInfo_default_instance_;
class PrefixesInfo;
class PrefixesInfoDefaultTypeInternal;
extern PrefixesInfoDefaultTypeInternal _PrefixesInfo_default_instance_;
}  // namespace phonenumbers
}  // namespace i18n
PROTOBUF_NAMESPACE_OPEN
template<> ::i18n::phonenumbers::CountriesInfo* Arena::CreateMaybeMessage<::i18n::phonenumbers::CountriesInfo>(Arena*);
template<> ::i18n::phonenumbers::CountryCodeInfo* Arena::CreateMaybeMessage<::i18n::phonenumbers::CountryCodeInfo>(Arena*);
template<> ::i18n::phonenumbers::GeocodingInfo* Arena::CreateMaybeMessage<::i18n::phonenumbers::GeocodingInfo>(Arena*);
template<> ::i18n::phonenumbers::LanguageCodeInfo* Arena::CreateMaybeMessage<::i18n::phonenumbers::LanguageCodeInfo>(Arena*);
template<> ::i18n::phonenumbers::PrefixesInfo* Arena::CreateMaybeMessage<::i18n::phonenumbers::PrefixesInfo>(Arena*);
PROTOBUF_NAMESPACE_CLOSE
namespace i18n {
namespace phonenumbers {

// ===================================================================

class GeocodingInfo PROTOBUF_FINAL :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:i18n.phonenumbers.GeocodingInfo) */ {
 public:
  inline GeocodingInfo() : GeocodingInfo(nullptr) {}
  virtual ~GeocodingInfo();

  GeocodingInfo(const GeocodingInfo& from);
  GeocodingInfo(GeocodingInfo&& from) noexcept
    : GeocodingInfo() {
    *this = ::std::move(from);
  }

  inline GeocodingInfo& operator=(const GeocodingInfo& from) {
    CopyFrom(from);
    return *this;
  }
  inline GeocodingInfo& operator=(GeocodingInfo&& from) noexcept {
    if (GetArena() == from.GetArena()) {
      if (this != &from) InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString);
  }
  inline std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<std::string>();
  }

  static const GeocodingInfo& default_instance();

  static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
  static inline const GeocodingInfo* internal_default_instance() {
    return reinterpret_cast<const GeocodingInfo*>(
               &_GeocodingInfo_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    0;

  friend void swap(GeocodingInfo& a, GeocodingInfo& b) {
    a.Swap(&b);
  }
  inline void Swap(GeocodingInfo* other) {
    if (other == this) return;
    if (GetArena() == other->GetArena()) {
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(GeocodingInfo* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  inline GeocodingInfo* New() const final {
    return CreateMaybeMessage<GeocodingInfo>(nullptr);
  }

  GeocodingInfo* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
    return CreateMaybeMessage<GeocodingInfo>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)
    final;
  void CopyFrom(const GeocodingInfo& from);
  void MergeFrom(const GeocodingInfo& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
      ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  void DiscardUnknownFields();
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  inline void SharedCtor();
  inline void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(GeocodingInfo* other);
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "i18n.phonenumbers.GeocodingInfo";
  }
  protected:
  explicit GeocodingInfo(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  private:
  static void ArenaDtor(void* object);
  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  std::string GetTypeName() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kPrefixesInfoFieldNumber = 1,
    kLanguagesFieldNumber = 2,
    kCountriesInfoFieldNumber = 4,
    kCountriesFieldNumber = 5,
    kLanguageCodeInfoFieldNumber = 3,
    kCountryCodeInfoFieldNumber = 6,
  };
  // repeated .i18n.phonenumbers.PrefixesInfo prefixes_info = 1;
  int prefixes_info_size() const;
  private:
  int _internal_prefixes_info_size() const;
  public:
  void clear_prefixes_info();
  ::i18n::phonenumbers::PrefixesInfo* mutable_prefixes_info(int index);
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::i18n::phonenumbers::PrefixesInfo >*
      mutable_prefixes_info();
  private:
  const ::i18n::phonenumbers::PrefixesInfo& _internal_prefixes_info(int index) const;
  ::i18n::phonenumbers::PrefixesInfo* _internal_add_prefixes_info();
  public:
  const ::i18n::phonenumbers::PrefixesInfo& prefixes_info(int index) const;
  ::i18n::phonenumbers::PrefixesInfo* add_prefixes_info();
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::i18n::phonenumbers::PrefixesInfo >&
      prefixes_info() const;

  // repeated string languages = 2;
  int languages_size() const;
  private:
  int _internal_languages_size() const;
  public:
  void clear_languages();
  const std::string& languages(int index) const;
  std::string* mutable_languages(int index);
  void set_languages(int index, const std::string& value);
  void set_languages(int index, std::string&& value);
  void set_languages(int index, const char* value);
  void set_languages(int index, const char* value, size_t size);
  std::string* add_languages();
  void add_languages(const std::string& value);
  void add_languages(std::string&& value);
  void add_languages(const char* value);
  void add_languages(const char* value, size_t size);
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>& languages() const;
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>* mutable_languages();
  private:
  const std::string& _internal_languages(int index) const;
  std::string* _internal_add_languages();
  public:

  // repeated .i18n.phonenumbers.CountriesInfo countries_info = 4;
  int countries_info_size() const;
  private:
  int _internal_countries_info_size() const;
  public:
  void clear_countries_info();
  ::i18n::phonenumbers::CountriesInfo* mutable_countries_info(int index);
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::i18n::phonenumbers::CountriesInfo >*
      mutable_countries_info();
  private:
  const ::i18n::phonenumbers::CountriesInfo& _internal_countries_info(int index) const;
  ::i18n::phonenumbers::CountriesInfo* _internal_add_countries_info();
  public:
  const ::i18n::phonenumbers::CountriesInfo& countries_info(int index) const;
  ::i18n::phonenumbers::CountriesInfo* add_countries_info();
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::i18n::phonenumbers::CountriesInfo >&
      countries_info() const;

  // repeated int32 countries = 5;
  int countries_size() const;
  private:
  int _internal_countries_size() const;
  public:
  void clear_countries();
  private:
  ::PROTOBUF_NAMESPACE_ID::int32 _internal_countries(int index) const;
  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
      _internal_countries() const;
  void _internal_add_countries(::PROTOBUF_NAMESPACE_ID::int32 value);
  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
      _internal_mutable_countries();
  public:
  ::PROTOBUF_NAMESPACE_ID::int32 countries(int index) const;
  void set_countries(int index, ::PROTOBUF_NAMESPACE_ID::int32 value);
  void add_countries(::PROTOBUF_NAMESPACE_ID::int32 value);
  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
      countries() const;
  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
      mutable_countries();

  // required .i18n.phonenumbers.LanguageCodeInfo language_code_info = 3;
  bool has_language_code_info() const;
  private:
  bool _internal_has_language_code_info() const;
  public:
  void clear_language_code_info();
  const ::i18n::phonenumbers::LanguageCodeInfo& language_code_info() const;
  ::i18n::phonenumbers::LanguageCodeInfo* release_language_code_info();
  ::i18n::phonenumbers::LanguageCodeInfo* mutable_language_code_info();
  void set_allocated_language_code_info(::i18n::phonenumbers::LanguageCodeInfo* language_code_info);
  private:
  const ::i18n::phonenumbers::LanguageCodeInfo& _internal_language_code_info() const;
  ::i18n::phonenumbers::LanguageCodeInfo* _internal_mutable_language_code_info();
  public:
  void unsafe_arena_set_allocated_language_code_info(
      ::i18n::phonenumbers::LanguageCodeInfo* language_code_info);
  ::i18n::phonenumbers::LanguageCodeInfo* unsafe_arena_release_language_code_info();

  // required .i18n.phonenumbers.CountryCodeInfo country_code_info = 6;
  bool has_country_code_info() const;
  private:
  bool _internal_has_country_code_info() const;
  public:
  void clear_country_code_info();
  const ::i18n::phonenumbers::CountryCodeInfo& country_code_info() const;
  ::i18n::phonenumbers::CountryCodeInfo* release_country_code_info();
  ::i18n::phonenumbers::CountryCodeInfo* mutable_country_code_info();
  void set_allocated_country_code_info(::i18n::phonenumbers::CountryCodeInfo* country_code_info);
  private:
  const ::i18n::phonenumbers::CountryCodeInfo& _internal_country_code_info() const;
  ::i18n::phonenumbers::CountryCodeInfo* _internal_mutable_country_code_info();
  public:
  void unsafe_arena_set_allocated_country_code_info(
      ::i18n::phonenumbers::CountryCodeInfo* country_code_info);
  ::i18n::phonenumbers::CountryCodeInfo* unsafe_arena_release_country_code_info();

  // @@protoc_insertion_point(class_scope:i18n.phonenumbers.GeocodingInfo)
 private:
  class _Internal;

  // helper for ByteSizeLong()
  size_t RequiredFieldsByteSizeFallback() const;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::i18n::phonenumbers::PrefixesInfo > prefixes_info_;
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string> languages_;
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::i18n::phonenumbers::CountriesInfo > countries_info_;
  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > countries_;
  ::i18n::phonenumbers::LanguageCodeInfo* language_code_info_;
  ::i18n::phonenumbers::CountryCodeInfo* country_code_info_;
  friend struct ::TableStruct_geocoding_5fdata_2eproto;
};
// -------------------------------------------------------------------

class PrefixesInfo PROTOBUF_FINAL :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:i18n.phonenumbers.PrefixesInfo) */ {
 public:
  inline PrefixesInfo() : PrefixesInfo(nullptr) {}
  virtual ~PrefixesInfo();

  PrefixesInfo(const PrefixesInfo& from);
  PrefixesInfo(PrefixesInfo&& from) noexcept
    : PrefixesInfo() {
    *this = ::std::move(from);
  }

  inline PrefixesInfo& operator=(const PrefixesInfo& from) {
    CopyFrom(from);
    return *this;
  }
  inline PrefixesInfo& operator=(PrefixesInfo&& from) noexcept {
    if (GetArena() == from.GetArena()) {
      if (this != &from) InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString);
  }
  inline std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<std::string>();
  }

  static const PrefixesInfo& default_instance();

  static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
  static inline const PrefixesInfo* internal_default_instance() {
    return reinterpret_cast<const PrefixesInfo*>(
               &_PrefixesInfo_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    1;

  friend void swap(PrefixesInfo& a, PrefixesInfo& b) {
    a.Swap(&b);
  }
  inline void Swap(PrefixesInfo* other) {
    if (other == this) return;
    if (GetArena() == other->GetArena()) {
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(PrefixesInfo* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  inline PrefixesInfo* New() const final {
    return CreateMaybeMessage<PrefixesInfo>(nullptr);
  }

  PrefixesInfo* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
    return CreateMaybeMessage<PrefixesInfo>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)
    final;
  void CopyFrom(const PrefixesInfo& from);
  void MergeFrom(const PrefixesInfo& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
      ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  void DiscardUnknownFields();
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  inline void SharedCtor();
  inline void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(PrefixesInfo* other);
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "i18n.phonenumbers.PrefixesInfo";
  }
  protected:
  explicit PrefixesInfo(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  private:
  static void ArenaDtor(void* object);
  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  std::string GetTypeName() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kPrefixesFieldNumber = 2,
    kDescriptionsFieldNumber = 3,
    kLengthsFieldNumber = 5,
    kPrefixesNumFieldNumber = 1,
    kLengthsNumFieldNumber = 4,
  };
  // repeated int32 prefixes = 2;
  int prefixes_size() const;
  private:
  int _internal_prefixes_size() const;
  public:
  void clear_prefixes();
  private:
  ::PROTOBUF_NAMESPACE_ID::int32 _internal_prefixes(int index) const;
  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
      _internal_prefixes() const;
  void _internal_add_prefixes(::PROTOBUF_NAMESPACE_ID::int32 value);
  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
      _internal_mutable_prefixes();
  public:
  ::PROTOBUF_NAMESPACE_ID::int32 prefixes(int index) const;
  void set_prefixes(int index, ::PROTOBUF_NAMESPACE_ID::int32 value);
  void add_prefixes(::PROTOBUF_NAMESPACE_ID::int32 value);
  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
      prefixes() const;
  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
      mutable_prefixes();

  // repeated string descriptions = 3;
  int descriptions_size() const;
  private:
  int _internal_descriptions_size() const;
  public:
  void clear_descriptions();
  const std::string& descriptions(int index) const;
  std::string* mutable_descriptions(int index);
  void set_descriptions(int index, const std::string& value);
  void set_descriptions(int index, std::string&& value);
  void set_descriptions(int index, const char* value);
  void set_descriptions(int index, const char* value, size_t size);
  std::string* add_descriptions();
  void add_descriptions(const std::string& value);
  void add_descriptions(std::string&& value);
  void add_descriptions(const char* value);
  void add_descriptions(const char* value, size_t size);
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>& descriptions() const;
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>* mutable_descriptions();
  private:
  const std::string& _internal_descriptions(int index) const;
  std::string* _internal_add_descriptions();
  public:

  // repeated int32 lengths = 5;
  int lengths_size() const;
  private:
  int _internal_lengths_size() const;
  public:
  void clear_lengths();
  private:
  ::PROTOBUF_NAMESPACE_ID::int32 _internal_lengths(int index) const;
  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
      _internal_lengths() const;
  void _internal_add_lengths(::PROTOBUF_NAMESPACE_ID::int32 value);
  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
      _internal_mutable_lengths();
  public:
  ::PROTOBUF_NAMESPACE_ID::int32 lengths(int index) const;
  void set_lengths(int index, ::PROTOBUF_NAMESPACE_ID::int32 value);
  void add_lengths(::PROTOBUF_NAMESPACE_ID::int32 value);
  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
      lengths() const;
  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
      mutable_lengths();

  // required int32 prefixes_num = 1;
  bool has_prefixes_num() const;
  private:
  bool _internal_has_prefixes_num() const;
  public:
  void clear_prefixes_num();
  ::PROTOBUF_NAMESPACE_ID::int32 prefixes_num() const;
  void set_prefixes_num(::PROTOBUF_NAMESPACE_ID::int32 value);
  private:
  ::PROTOBUF_NAMESPACE_ID::int32 _internal_prefixes_num() const;
  void _internal_set_prefixes_num(::PROTOBUF_NAMESPACE_ID::int32 value);
  public:

  // required int32 lengths_num = 4;
  bool has_lengths_num() const;
  private:
  bool _internal_has_lengths_num() const;
  public:
  void clear_lengths_num();
  ::PROTOBUF_NAMESPACE_ID::int32 lengths_num() const;
  void set_lengths_num(::PROTOBUF_NAMESPACE_ID::int32 value);
  private:
  ::PROTOBUF_NAMESPACE_ID::int32 _internal_lengths_num() const;
  void _internal_set_lengths_num(::PROTOBUF_NAMESPACE_ID::int32 value);
  public:

  // @@protoc_insertion_point(class_scope:i18n.phonenumbers.PrefixesInfo)
 private:
  class _Internal;

  // helper for ByteSizeLong()
  size_t RequiredFieldsByteSizeFallback() const;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > prefixes_;
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string> descriptions_;
  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > lengths_;
  ::PROTOBUF_NAMESPACE_ID::int32 prefixes_num_;
  ::PROTOBUF_NAMESPACE_ID::int32 lengths_num_;
  friend struct ::TableStruct_geocoding_5fdata_2eproto;
};
// -------------------------------------------------------------------

class LanguageCodeInfo PROTOBUF_FINAL :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:i18n.phonenumbers.LanguageCodeInfo) */ {
 public:
  inline LanguageCodeInfo() : LanguageCodeInfo(nullptr) {}
  virtual ~LanguageCodeInfo();

  LanguageCodeInfo(const LanguageCodeInfo& from);
  LanguageCodeInfo(LanguageCodeInfo&& from) noexcept
    : LanguageCodeInfo() {
    *this = ::std::move(from);
  }

  inline LanguageCodeInfo& operator=(const LanguageCodeInfo& from) {
    CopyFrom(from);
    return *this;
  }
  inline LanguageCodeInfo& operator=(LanguageCodeInfo&& from) noexcept {
    if (GetArena() == from.GetArena()) {
      if (this != &from) InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString);
  }
  inline std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<std::string>();
  }

  static const LanguageCodeInfo& default_instance();

  static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
  static inline const LanguageCodeInfo* internal_default_instance() {
    return reinterpret_cast<const LanguageCodeInfo*>(
               &_LanguageCodeInfo_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    2;

  friend void swap(LanguageCodeInfo& a, LanguageCodeInfo& b) {
    a.Swap(&b);
  }
  inline void Swap(LanguageCodeInfo* other) {
    if (other == this) return;
    if (GetArena() == other->GetArena()) {
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(LanguageCodeInfo* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  inline LanguageCodeInfo* New() const final {
    return CreateMaybeMessage<LanguageCodeInfo>(nullptr);
  }

  LanguageCodeInfo* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
    return CreateMaybeMessage<LanguageCodeInfo>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)
    final;
  void CopyFrom(const LanguageCodeInfo& from);
  void MergeFrom(const LanguageCodeInfo& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
      ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  void DiscardUnknownFields();
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  inline void SharedCtor();
  inline void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(LanguageCodeInfo* other);
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "i18n.phonenumbers.LanguageCodeInfo";
  }
  protected:
  explicit LanguageCodeInfo(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  private:
  static void ArenaDtor(void* object);
  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  std::string GetTypeName() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kLanguageCodesFieldNumber = 2,
    kLanguageCodesNumFieldNumber = 1,
  };
  // repeated string language_codes = 2;
  int language_codes_size() const;
  private:
  int _internal_language_codes_size() const;
  public:
  void clear_language_codes();
  const std::string& language_codes(int index) const;
  std::string* mutable_language_codes(int index);
  void set_language_codes(int index, const std::string& value);
  void set_language_codes(int index, std::string&& value);
  void set_language_codes(int index, const char* value);
  void set_language_codes(int index, const char* value, size_t size);
  std::string* add_language_codes();
  void add_language_codes(const std::string& value);
  void add_language_codes(std::string&& value);
  void add_language_codes(const char* value);
  void add_language_codes(const char* value, size_t size);
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>& language_codes() const;
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>* mutable_language_codes();
  private:
  const std::string& _internal_language_codes(int index) const;
  std::string* _internal_add_language_codes();
  public:

  // required int32 language_codes_num = 1;
  bool has_language_codes_num() const;
  private:
  bool _internal_has_language_codes_num() const;
  public:
  void clear_language_codes_num();
  ::PROTOBUF_NAMESPACE_ID::int32 language_codes_num() const;
  void set_language_codes_num(::PROTOBUF_NAMESPACE_ID::int32 value);
  private:
  ::PROTOBUF_NAMESPACE_ID::int32 _internal_language_codes_num() const;
  void _internal_set_language_codes_num(::PROTOBUF_NAMESPACE_ID::int32 value);
  public:

  // @@protoc_insertion_point(class_scope:i18n.phonenumbers.LanguageCodeInfo)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string> language_codes_;
  ::PROTOBUF_NAMESPACE_ID::int32 language_codes_num_;
  friend struct ::TableStruct_geocoding_5fdata_2eproto;
};
// -------------------------------------------------------------------

class CountriesInfo PROTOBUF_FINAL :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:i18n.phonenumbers.CountriesInfo) */ {
 public:
  inline CountriesInfo() : CountriesInfo(nullptr) {}
  virtual ~CountriesInfo();

  CountriesInfo(const CountriesInfo& from);
  CountriesInfo(CountriesInfo&& from) noexcept
    : CountriesInfo() {
    *this = ::std::move(from);
  }

  inline CountriesInfo& operator=(const CountriesInfo& from) {
    CopyFrom(from);
    return *this;
  }
  inline CountriesInfo& operator=(CountriesInfo&& from) noexcept {
    if (GetArena() == from.GetArena()) {
      if (this != &from) InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString);
  }
  inline std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<std::string>();
  }

  static const CountriesInfo& default_instance();

  static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
  static inline const CountriesInfo* internal_default_instance() {
    return reinterpret_cast<const CountriesInfo*>(
               &_CountriesInfo_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    3;

  friend void swap(CountriesInfo& a, CountriesInfo& b) {
    a.Swap(&b);
  }
  inline void Swap(CountriesInfo* other) {
    if (other == this) return;
    if (GetArena() == other->GetArena()) {
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(CountriesInfo* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  inline CountriesInfo* New() const final {
    return CreateMaybeMessage<CountriesInfo>(nullptr);
  }

  CountriesInfo* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
    return CreateMaybeMessage<CountriesInfo>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)
    final;
  void CopyFrom(const CountriesInfo& from);
  void MergeFrom(const CountriesInfo& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
      ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  void DiscardUnknownFields();
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  inline void SharedCtor();
  inline void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(CountriesInfo* other);
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "i18n.phonenumbers.CountriesInfo";
  }
  protected:
  explicit CountriesInfo(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  private:
  static void ArenaDtor(void* object);
  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  std::string GetTypeName() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kCountryLanguagesFieldNumber = 2,
    kCountryLanguagesNumFieldNumber = 1,
  };
  // repeated string country_languages = 2;
  int country_languages_size() const;
  private:
  int _internal_country_languages_size() const;
  public:
  void clear_country_languages();
  const std::string& country_languages(int index) const;
  std::string* mutable_country_languages(int index);
  void set_country_languages(int index, const std::string& value);
  void set_country_languages(int index, std::string&& value);
  void set_country_languages(int index, const char* value);
  void set_country_languages(int index, const char* value, size_t size);
  std::string* add_country_languages();
  void add_country_languages(const std::string& value);
  void add_country_languages(std::string&& value);
  void add_country_languages(const char* value);
  void add_country_languages(const char* value, size_t size);
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>& country_languages() const;
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>* mutable_country_languages();
  private:
  const std::string& _internal_country_languages(int index) const;
  std::string* _internal_add_country_languages();
  public:

  // required int32 country_languages_num = 1;
  bool has_country_languages_num() const;
  private:
  bool _internal_has_country_languages_num() const;
  public:
  void clear_country_languages_num();
  ::PROTOBUF_NAMESPACE_ID::int32 country_languages_num() const;
  void set_country_languages_num(::PROTOBUF_NAMESPACE_ID::int32 value);
  private:
  ::PROTOBUF_NAMESPACE_ID::int32 _internal_country_languages_num() const;
  void _internal_set_country_languages_num(::PROTOBUF_NAMESPACE_ID::int32 value);
  public:

  // @@protoc_insertion_point(class_scope:i18n.phonenumbers.CountriesInfo)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string> country_languages_;
  ::PROTOBUF_NAMESPACE_ID::int32 country_languages_num_;
  friend struct ::TableStruct_geocoding_5fdata_2eproto;
};
// -------------------------------------------------------------------

class CountryCodeInfo PROTOBUF_FINAL :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:i18n.phonenumbers.CountryCodeInfo) */ {
 public:
  inline CountryCodeInfo() : CountryCodeInfo(nullptr) {}
  virtual ~CountryCodeInfo();

  CountryCodeInfo(const CountryCodeInfo& from);
  CountryCodeInfo(CountryCodeInfo&& from) noexcept
    : CountryCodeInfo() {
    *this = ::std::move(from);
  }

  inline CountryCodeInfo& operator=(const CountryCodeInfo& from) {
    CopyFrom(from);
    return *this;
  }
  inline CountryCodeInfo& operator=(CountryCodeInfo&& from) noexcept {
    if (GetArena() == from.GetArena()) {
      if (this != &from) InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString);
  }
  inline std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<std::string>();
  }

  static const CountryCodeInfo& default_instance();

  static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
  static inline const CountryCodeInfo* internal_default_instance() {
    return reinterpret_cast<const CountryCodeInfo*>(
               &_CountryCodeInfo_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    4;

  friend void swap(CountryCodeInfo& a, CountryCodeInfo& b) {
    a.Swap(&b);
  }
  inline void Swap(CountryCodeInfo* other) {
    if (other == this) return;
    if (GetArena() == other->GetArena()) {
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(CountryCodeInfo* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  inline CountryCodeInfo* New() const final {
    return CreateMaybeMessage<CountryCodeInfo>(nullptr);
  }

  CountryCodeInfo* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
    return CreateMaybeMessage<CountryCodeInfo>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)
    final;
  void CopyFrom(const CountryCodeInfo& from);
  void MergeFrom(const CountryCodeInfo& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
      ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  void DiscardUnknownFields();
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  inline void SharedCtor();
  inline void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(CountryCodeInfo* other);
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "i18n.phonenumbers.CountryCodeInfo";
  }
  protected:
  explicit CountryCodeInfo(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  private:
  static void ArenaDtor(void* object);
  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  std::string GetTypeName() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kCountryCodesFieldNumber = 2,
    kCountryCodesNumFieldNumber = 1,
  };
  // repeated int32 country_codes = 2;
  int country_codes_size() const;
  private:
  int _internal_country_codes_size() const;
  public:
  void clear_country_codes();
  private:
  ::PROTOBUF_NAMESPACE_ID::int32 _internal_country_codes(int index) const;
  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
      _internal_country_codes() const;
  void _internal_add_country_codes(::PROTOBUF_NAMESPACE_ID::int32 value);
  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
      _internal_mutable_country_codes();
  public:
  ::PROTOBUF_NAMESPACE_ID::int32 country_codes(int index) const;
  void set_country_codes(int index, ::PROTOBUF_NAMESPACE_ID::int32 value);
  void add_country_codes(::PROTOBUF_NAMESPACE_ID::int32 value);
  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
      country_codes() const;
  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
      mutable_country_codes();

  // required int32 country_codes_num = 1;
  bool has_country_codes_num() const;
  private:
  bool _internal_has_country_codes_num() const;
  public:
  void clear_country_codes_num();
  ::PROTOBUF_NAMESPACE_ID::int32 country_codes_num() const;
  void set_country_codes_num(::PROTOBUF_NAMESPACE_ID::int32 value);
  private:
  ::PROTOBUF_NAMESPACE_ID::int32 _internal_country_codes_num() const;
  void _internal_set_country_codes_num(::PROTOBUF_NAMESPACE_ID::int32 value);
  public:

  // @@protoc_insertion_point(class_scope:i18n.phonenumbers.CountryCodeInfo)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > country_codes_;
  ::PROTOBUF_NAMESPACE_ID::int32 country_codes_num_;
  friend struct ::TableStruct_geocoding_5fdata_2eproto;
};
// ===================================================================


// ===================================================================

#ifdef __GNUC__
  #pragma GCC diagnostic push
  #pragma GCC diagnostic ignored "-Wstrict-aliasing"
#endif  // __GNUC__
// GeocodingInfo

// repeated .i18n.phonenumbers.PrefixesInfo prefixes_info = 1;
inline int GeocodingInfo::_internal_prefixes_info_size() const {
  return prefixes_info_.size();
}
inline int GeocodingInfo::prefixes_info_size() const {
  return _internal_prefixes_info_size();
}
inline void GeocodingInfo::clear_prefixes_info() {
  prefixes_info_.Clear();
}
inline ::i18n::phonenumbers::PrefixesInfo* GeocodingInfo::mutable_prefixes_info(int index) {
  // @@protoc_insertion_point(field_mutable:i18n.phonenumbers.GeocodingInfo.prefixes_info)
  return prefixes_info_.Mutable(index);
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::i18n::phonenumbers::PrefixesInfo >*
GeocodingInfo::mutable_prefixes_info() {
  // @@protoc_insertion_point(field_mutable_list:i18n.phonenumbers.GeocodingInfo.prefixes_info)
  return &prefixes_info_;
}
inline const ::i18n::phonenumbers::PrefixesInfo& GeocodingInfo::_internal_prefixes_info(int index) const {
  return prefixes_info_.Get(index);
}
inline const ::i18n::phonenumbers::PrefixesInfo& GeocodingInfo::prefixes_info(int index) const {
  // @@protoc_insertion_point(field_get:i18n.phonenumbers.GeocodingInfo.prefixes_info)
  return _internal_prefixes_info(index);
}
inline ::i18n::phonenumbers::PrefixesInfo* GeocodingInfo::_internal_add_prefixes_info() {
  return prefixes_info_.Add();
}
inline ::i18n::phonenumbers::PrefixesInfo* GeocodingInfo::add_prefixes_info() {
  // @@protoc_insertion_point(field_add:i18n.phonenumbers.GeocodingInfo.prefixes_info)
  return _internal_add_prefixes_info();
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::i18n::phonenumbers::PrefixesInfo >&
GeocodingInfo::prefixes_info() const {
  // @@protoc_insertion_point(field_list:i18n.phonenumbers.GeocodingInfo.prefixes_info)
  return prefixes_info_;
}

// repeated string languages = 2;
inline int GeocodingInfo::_internal_languages_size() const {
  return languages_.size();
}
inline int GeocodingInfo::languages_size() const {
  return _internal_languages_size();
}
inline void GeocodingInfo::clear_languages() {
  languages_.Clear();
}
inline std::string* GeocodingInfo::add_languages() {
  // @@protoc_insertion_point(field_add_mutable:i18n.phonenumbers.GeocodingInfo.languages)
  return _internal_add_languages();
}
inline const std::string& GeocodingInfo::_internal_languages(int index) const {
  return languages_.Get(index);
}
inline const std::string& GeocodingInfo::languages(int index) const {
  // @@protoc_insertion_point(field_get:i18n.phonenumbers.GeocodingInfo.languages)
  return _internal_languages(index);
}
inline std::string* GeocodingInfo::mutable_languages(int index) {
  // @@protoc_insertion_point(field_mutable:i18n.phonenumbers.GeocodingInfo.languages)
  return languages_.Mutable(index);
}
inline void GeocodingInfo::set_languages(int index, const std::string& value) {
  // @@protoc_insertion_point(field_set:i18n.phonenumbers.GeocodingInfo.languages)
  languages_.Mutable(index)->assign(value);
}
inline void GeocodingInfo::set_languages(int index, std::string&& value) {
  // @@protoc_insertion_point(field_set:i18n.phonenumbers.GeocodingInfo.languages)
  languages_.Mutable(index)->assign(std::move(value));
}
inline void GeocodingInfo::set_languages(int index, const char* value) {
  GOOGLE_DCHECK(value != nullptr);
  languages_.Mutable(index)->assign(value);
  // @@protoc_insertion_point(field_set_char:i18n.phonenumbers.GeocodingInfo.languages)
}
inline void GeocodingInfo::set_languages(int index, const char* value, size_t size) {
  languages_.Mutable(index)->assign(
    reinterpret_cast<const char*>(value), size);
  // @@protoc_insertion_point(field_set_pointer:i18n.phonenumbers.GeocodingInfo.languages)
}
inline std::string* GeocodingInfo::_internal_add_languages() {
  return languages_.Add();
}
inline void GeocodingInfo::add_languages(const std::string& value) {
  languages_.Add()->assign(value);
  // @@protoc_insertion_point(field_add:i18n.phonenumbers.GeocodingInfo.languages)
}
inline void GeocodingInfo::add_languages(std::string&& value) {
  languages_.Add(std::move(value));
  // @@protoc_insertion_point(field_add:i18n.phonenumbers.GeocodingInfo.languages)
}
inline void GeocodingInfo::add_languages(const char* value) {
  GOOGLE_DCHECK(value != nullptr);
  languages_.Add()->assign(value);
  // @@protoc_insertion_point(field_add_char:i18n.phonenumbers.GeocodingInfo.languages)
}
inline void GeocodingInfo::add_languages(const char* value, size_t size) {
  languages_.Add()->assign(reinterpret_cast<const char*>(value), size);
  // @@protoc_insertion_point(field_add_pointer:i18n.phonenumbers.GeocodingInfo.languages)
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>&
GeocodingInfo::languages() const {
  // @@protoc_insertion_point(field_list:i18n.phonenumbers.GeocodingInfo.languages)
  return languages_;
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>*
GeocodingInfo::mutable_languages() {
  // @@protoc_insertion_point(field_mutable_list:i18n.phonenumbers.GeocodingInfo.languages)
  return &languages_;
}

// required .i18n.phonenumbers.LanguageCodeInfo language_code_info = 3;
inline bool GeocodingInfo::_internal_has_language_code_info() const {
  bool value = (_has_bits_[0] & 0x00000001u) != 0;
  PROTOBUF_ASSUME(!value || language_code_info_ != nullptr);
  return value;
}
inline bool GeocodingInfo::has_language_code_info() const {
  return _internal_has_language_code_info();
}
inline void GeocodingInfo::clear_language_code_info() {
  if (language_code_info_ != nullptr) language_code_info_->Clear();
  _has_bits_[0] &= ~0x00000001u;
}
inline const ::i18n::phonenumbers::LanguageCodeInfo& GeocodingInfo::_internal_language_code_info() const {
  const ::i18n::phonenumbers::LanguageCodeInfo* p = language_code_info_;
  return p != nullptr ? *p : *reinterpret_cast<const ::i18n::phonenumbers::LanguageCodeInfo*>(
      &::i18n::phonenumbers::_LanguageCodeInfo_default_instance_);
}
inline const ::i18n::phonenumbers::LanguageCodeInfo& GeocodingInfo::language_code_info() const {
  // @@protoc_insertion_point(field_get:i18n.phonenumbers.GeocodingInfo.language_code_info)
  return _internal_language_code_info();
}
inline void GeocodingInfo::unsafe_arena_set_allocated_language_code_info(
    ::i18n::phonenumbers::LanguageCodeInfo* language_code_info) {
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(language_code_info_);
  }
  language_code_info_ = language_code_info;
  if (language_code_info) {
    _has_bits_[0] |= 0x00000001u;
  } else {
    _has_bits_[0] &= ~0x00000001u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:i18n.phonenumbers.GeocodingInfo.language_code_info)
}
inline ::i18n::phonenumbers::LanguageCodeInfo* GeocodingInfo::release_language_code_info() {
  _has_bits_[0] &= ~0x00000001u;
  ::i18n::phonenumbers::LanguageCodeInfo* temp = language_code_info_;
  language_code_info_ = nullptr;
  if (GetArena() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
  return temp;
}
inline ::i18n::phonenumbers::LanguageCodeInfo* GeocodingInfo::unsafe_arena_release_language_code_info() {
  // @@protoc_insertion_point(field_release:i18n.phonenumbers.GeocodingInfo.language_code_info)
  _has_bits_[0] &= ~0x00000001u;
  ::i18n::phonenumbers::LanguageCodeInfo* temp = language_code_info_;
  language_code_info_ = nullptr;
  return temp;
}
inline ::i18n::phonenumbers::LanguageCodeInfo* GeocodingInfo::_internal_mutable_language_code_info() {
  _has_bits_[0] |= 0x00000001u;
  if (language_code_info_ == nullptr) {
    auto* p = CreateMaybeMessage<::i18n::phonenumbers::LanguageCodeInfo>(GetArena());
    language_code_info_ = p;
  }
  return language_code_info_;
}
inline ::i18n::phonenumbers::LanguageCodeInfo* GeocodingInfo::mutable_language_code_info() {
  // @@protoc_insertion_point(field_mutable:i18n.phonenumbers.GeocodingInfo.language_code_info)
  return _internal_mutable_language_code_info();
}
inline void GeocodingInfo::set_allocated_language_code_info(::i18n::phonenumbers::LanguageCodeInfo* language_code_info) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  if (message_arena == nullptr) {
    delete language_code_info_;
  }
  if (language_code_info) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(language_code_info);
    if (message_arena != submessage_arena) {
      language_code_info = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, language_code_info, submessage_arena);
    }
    _has_bits_[0] |= 0x00000001u;
  } else {
    _has_bits_[0] &= ~0x00000001u;
  }
  language_code_info_ = language_code_info;
  // @@protoc_insertion_point(field_set_allocated:i18n.phonenumbers.GeocodingInfo.language_code_info)
}

// repeated .i18n.phonenumbers.CountriesInfo countries_info = 4;
inline int GeocodingInfo::_internal_countries_info_size() const {
  return countries_info_.size();
}
inline int GeocodingInfo::countries_info_size() const {
  return _internal_countries_info_size();
}
inline void GeocodingInfo::clear_countries_info() {
  countries_info_.Clear();
}
inline ::i18n::phonenumbers::CountriesInfo* GeocodingInfo::mutable_countries_info(int index) {
  // @@protoc_insertion_point(field_mutable:i18n.phonenumbers.GeocodingInfo.countries_info)
  return countries_info_.Mutable(index);
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::i18n::phonenumbers::CountriesInfo >*
GeocodingInfo::mutable_countries_info() {
  // @@protoc_insertion_point(field_mutable_list:i18n.phonenumbers.GeocodingInfo.countries_info)
  return &countries_info_;
}
inline const ::i18n::phonenumbers::CountriesInfo& GeocodingInfo::_internal_countries_info(int index) const {
  return countries_info_.Get(index);
}
inline const ::i18n::phonenumbers::CountriesInfo& GeocodingInfo::countries_info(int index) const {
  // @@protoc_insertion_point(field_get:i18n.phonenumbers.GeocodingInfo.countries_info)
  return _internal_countries_info(index);
}
inline ::i18n::phonenumbers::CountriesInfo* GeocodingInfo::_internal_add_countries_info() {
  return countries_info_.Add();
}
inline ::i18n::phonenumbers::CountriesInfo* GeocodingInfo::add_countries_info() {
  // @@protoc_insertion_point(field_add:i18n.phonenumbers.GeocodingInfo.countries_info)
  return _internal_add_countries_info();
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::i18n::phonenumbers::CountriesInfo >&
GeocodingInfo::countries_info() const {
  // @@protoc_insertion_point(field_list:i18n.phonenumbers.GeocodingInfo.countries_info)
  return countries_info_;
}

// repeated int32 countries = 5;
inline int GeocodingInfo::_internal_countries_size() const {
  return countries_.size();
}
inline int GeocodingInfo::countries_size() const {
  return _internal_countries_size();
}
inline void GeocodingInfo::clear_countries() {
  countries_.Clear();
}
inline ::PROTOBUF_NAMESPACE_ID::int32 GeocodingInfo::_internal_countries(int index) const {
  return countries_.Get(index);
}
inline ::PROTOBUF_NAMESPACE_ID::int32 GeocodingInfo::countries(int index) const {
  // @@protoc_insertion_point(field_get:i18n.phonenumbers.GeocodingInfo.countries)
  return _internal_countries(index);
}
inline void GeocodingInfo::set_countries(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
  countries_.Set(index, value);
  // @@protoc_insertion_point(field_set:i18n.phonenumbers.GeocodingInfo.countries)
}
inline void GeocodingInfo::_internal_add_countries(::PROTOBUF_NAMESPACE_ID::int32 value) {
  countries_.Add(value);
}
inline void GeocodingInfo::add_countries(::PROTOBUF_NAMESPACE_ID::int32 value) {
  _internal_add_countries(value);
  // @@protoc_insertion_point(field_add:i18n.phonenumbers.GeocodingInfo.countries)
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
GeocodingInfo::_internal_countries() const {
  return countries_;
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
GeocodingInfo::countries() const {
  // @@protoc_insertion_point(field_list:i18n.phonenumbers.GeocodingInfo.countries)
  return _internal_countries();
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
GeocodingInfo::_internal_mutable_countries() {
  return &countries_;
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
GeocodingInfo::mutable_countries() {
  // @@protoc_insertion_point(field_mutable_list:i18n.phonenumbers.GeocodingInfo.countries)
  return _internal_mutable_countries();
}

// required .i18n.phonenumbers.CountryCodeInfo country_code_info = 6;
inline bool GeocodingInfo::_internal_has_country_code_info() const {
  bool value = (_has_bits_[0] & 0x00000002u) != 0;
  PROTOBUF_ASSUME(!value || country_code_info_ != nullptr);
  return value;
}
inline bool GeocodingInfo::has_country_code_info() const {
  return _internal_has_country_code_info();
}
inline void GeocodingInfo::clear_country_code_info() {
  if (country_code_info_ != nullptr) country_code_info_->Clear();
  _has_bits_[0] &= ~0x00000002u;
}
inline const ::i18n::phonenumbers::CountryCodeInfo& GeocodingInfo::_internal_country_code_info() const {
  const ::i18n::phonenumbers::CountryCodeInfo* p = country_code_info_;
  return p != nullptr ? *p : *reinterpret_cast<const ::i18n::phonenumbers::CountryCodeInfo*>(
      &::i18n::phonenumbers::_CountryCodeInfo_default_instance_);
}
inline const ::i18n::phonenumbers::CountryCodeInfo& GeocodingInfo::country_code_info() const {
  // @@protoc_insertion_point(field_get:i18n.phonenumbers.GeocodingInfo.country_code_info)
  return _internal_country_code_info();
}
inline void GeocodingInfo::unsafe_arena_set_allocated_country_code_info(
    ::i18n::phonenumbers::CountryCodeInfo* country_code_info) {
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(country_code_info_);
  }
  country_code_info_ = country_code_info;
  if (country_code_info) {
    _has_bits_[0] |= 0x00000002u;
  } else {
    _has_bits_[0] &= ~0x00000002u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:i18n.phonenumbers.GeocodingInfo.country_code_info)
}
inline ::i18n::phonenumbers::CountryCodeInfo* GeocodingInfo::release_country_code_info() {
  _has_bits_[0] &= ~0x00000002u;
  ::i18n::phonenumbers::CountryCodeInfo* temp = country_code_info_;
  country_code_info_ = nullptr;
  if (GetArena() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
  return temp;
}
inline ::i18n::phonenumbers::CountryCodeInfo* GeocodingInfo::unsafe_arena_release_country_code_info() {
  // @@protoc_insertion_point(field_release:i18n.phonenumbers.GeocodingInfo.country_code_info)
  _has_bits_[0] &= ~0x00000002u;
  ::i18n::phonenumbers::CountryCodeInfo* temp = country_code_info_;
  country_code_info_ = nullptr;
  return temp;
}
inline ::i18n::phonenumbers::CountryCodeInfo* GeocodingInfo::_internal_mutable_country_code_info() {
  _has_bits_[0] |= 0x00000002u;
  if (country_code_info_ == nullptr) {
    auto* p = CreateMaybeMessage<::i18n::phonenumbers::CountryCodeInfo>(GetArena());
    country_code_info_ = p;
  }
  return country_code_info_;
}
inline ::i18n::phonenumbers::CountryCodeInfo* GeocodingInfo::mutable_country_code_info() {
  // @@protoc_insertion_point(field_mutable:i18n.phonenumbers.GeocodingInfo.country_code_info)
  return _internal_mutable_country_code_info();
}
inline void GeocodingInfo::set_allocated_country_code_info(::i18n::phonenumbers::CountryCodeInfo* country_code_info) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
  if (message_arena == nullptr) {
    delete country_code_info_;
  }
  if (country_code_info) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(country_code_info);
    if (message_arena != submessage_arena) {
      country_code_info = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, country_code_info, submessage_arena);
    }
    _has_bits_[0] |= 0x00000002u;
  } else {
    _has_bits_[0] &= ~0x00000002u;
  }
  country_code_info_ = country_code_info;
  // @@protoc_insertion_point(field_set_allocated:i18n.phonenumbers.GeocodingInfo.country_code_info)
}

// -------------------------------------------------------------------

// PrefixesInfo

// required int32 prefixes_num = 1;
inline bool PrefixesInfo::_internal_has_prefixes_num() const {
  bool value = (_has_bits_[0] & 0x00000001u) != 0;
  return value;
}
inline bool PrefixesInfo::has_prefixes_num() const {
  return _internal_has_prefixes_num();
}
inline void PrefixesInfo::clear_prefixes_num() {
  prefixes_num_ = 0;
  _has_bits_[0] &= ~0x00000001u;
}
inline ::PROTOBUF_NAMESPACE_ID::int32 PrefixesInfo::_internal_prefixes_num() const {
  return prefixes_num_;
}
inline ::PROTOBUF_NAMESPACE_ID::int32 PrefixesInfo::prefixes_num() const {
  // @@protoc_insertion_point(field_get:i18n.phonenumbers.PrefixesInfo.prefixes_num)
  return _internal_prefixes_num();
}
inline void PrefixesInfo::_internal_set_prefixes_num(::PROTOBUF_NAMESPACE_ID::int32 value) {
  _has_bits_[0] |= 0x00000001u;
  prefixes_num_ = value;
}
inline void PrefixesInfo::set_prefixes_num(::PROTOBUF_NAMESPACE_ID::int32 value) {
  _internal_set_prefixes_num(value);
  // @@protoc_insertion_point(field_set:i18n.phonenumbers.PrefixesInfo.prefixes_num)
}

// repeated int32 prefixes = 2;
inline int PrefixesInfo::_internal_prefixes_size() const {
  return prefixes_.size();
}
inline int PrefixesInfo::prefixes_size() const {
  return _internal_prefixes_size();
}
inline void PrefixesInfo::clear_prefixes() {
  prefixes_.Clear();
}
inline ::PROTOBUF_NAMESPACE_ID::int32 PrefixesInfo::_internal_prefixes(int index) const {
  return prefixes_.Get(index);
}
inline ::PROTOBUF_NAMESPACE_ID::int32 PrefixesInfo::prefixes(int index) const {
  // @@protoc_insertion_point(field_get:i18n.phonenumbers.PrefixesInfo.prefixes)
  return _internal_prefixes(index);
}
inline void PrefixesInfo::set_prefixes(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
  prefixes_.Set(index, value);
  // @@protoc_insertion_point(field_set:i18n.phonenumbers.PrefixesInfo.prefixes)
}
inline void PrefixesInfo::_internal_add_prefixes(::PROTOBUF_NAMESPACE_ID::int32 value) {
  prefixes_.Add(value);
}
inline void PrefixesInfo::add_prefixes(::PROTOBUF_NAMESPACE_ID::int32 value) {
  _internal_add_prefixes(value);
  // @@protoc_insertion_point(field_add:i18n.phonenumbers.PrefixesInfo.prefixes)
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
PrefixesInfo::_internal_prefixes() const {
  return prefixes_;
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
PrefixesInfo::prefixes() const {
  // @@protoc_insertion_point(field_list:i18n.phonenumbers.PrefixesInfo.prefixes)
  return _internal_prefixes();
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
PrefixesInfo::_internal_mutable_prefixes() {
  return &prefixes_;
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
PrefixesInfo::mutable_prefixes() {
  // @@protoc_insertion_point(field_mutable_list:i18n.phonenumbers.PrefixesInfo.prefixes)
  return _internal_mutable_prefixes();
}

// repeated string descriptions = 3;
inline int PrefixesInfo::_internal_descriptions_size() const {
  return descriptions_.size();
}
inline int PrefixesInfo::descriptions_size() const {
  return _internal_descriptions_size();
}
inline void PrefixesInfo::clear_descriptions() {
  descriptions_.Clear();
}
inline std::string* PrefixesInfo::add_descriptions() {
  // @@protoc_insertion_point(field_add_mutable:i18n.phonenumbers.PrefixesInfo.descriptions)
  return _internal_add_descriptions();
}
inline const std::string& PrefixesInfo::_internal_descriptions(int index) const {
  return descriptions_.Get(index);
}
inline const std::string& PrefixesInfo::descriptions(int index) const {
  // @@protoc_insertion_point(field_get:i18n.phonenumbers.PrefixesInfo.descriptions)
  return _internal_descriptions(index);
}
inline std::string* PrefixesInfo::mutable_descriptions(int index) {
  // @@protoc_insertion_point(field_mutable:i18n.phonenumbers.PrefixesInfo.descriptions)
  return descriptions_.Mutable(index);
}
inline void PrefixesInfo::set_descriptions(int index, const std::string& value) {
  // @@protoc_insertion_point(field_set:i18n.phonenumbers.PrefixesInfo.descriptions)
  descriptions_.Mutable(index)->assign(value);
}
inline void PrefixesInfo::set_descriptions(int index, std::string&& value) {
  // @@protoc_insertion_point(field_set:i18n.phonenumbers.PrefixesInfo.descriptions)
  descriptions_.Mutable(index)->assign(std::move(value));
}
inline void PrefixesInfo::set_descriptions(int index, const char* value) {
  GOOGLE_DCHECK(value != nullptr);
  descriptions_.Mutable(index)->assign(value);
  // @@protoc_insertion_point(field_set_char:i18n.phonenumbers.PrefixesInfo.descriptions)
}
inline void PrefixesInfo::set_descriptions(int index, const char* value, size_t size) {
  descriptions_.Mutable(index)->assign(
    reinterpret_cast<const char*>(value), size);
  // @@protoc_insertion_point(field_set_pointer:i18n.phonenumbers.PrefixesInfo.descriptions)
}
inline std::string* PrefixesInfo::_internal_add_descriptions() {
  return descriptions_.Add();
}
inline void PrefixesInfo::add_descriptions(const std::string& value) {
  descriptions_.Add()->assign(value);
  // @@protoc_insertion_point(field_add:i18n.phonenumbers.PrefixesInfo.descriptions)
}
inline void PrefixesInfo::add_descriptions(std::string&& value) {
  descriptions_.Add(std::move(value));
  // @@protoc_insertion_point(field_add:i18n.phonenumbers.PrefixesInfo.descriptions)
}
inline void PrefixesInfo::add_descriptions(const char* value) {
  GOOGLE_DCHECK(value != nullptr);
  descriptions_.Add()->assign(value);
  // @@protoc_insertion_point(field_add_char:i18n.phonenumbers.PrefixesInfo.descriptions)
}
inline void PrefixesInfo::add_descriptions(const char* value, size_t size) {
  descriptions_.Add()->assign(reinterpret_cast<const char*>(value), size);
  // @@protoc_insertion_point(field_add_pointer:i18n.phonenumbers.PrefixesInfo.descriptions)
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>&
PrefixesInfo::descriptions() const {
  // @@protoc_insertion_point(field_list:i18n.phonenumbers.PrefixesInfo.descriptions)
  return descriptions_;
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>*
PrefixesInfo::mutable_descriptions() {
  // @@protoc_insertion_point(field_mutable_list:i18n.phonenumbers.PrefixesInfo.descriptions)
  return &descriptions_;
}

// required int32 lengths_num = 4;
inline bool PrefixesInfo::_internal_has_lengths_num() const {
  bool value = (_has_bits_[0] & 0x00000002u) != 0;
  return value;
}
inline bool PrefixesInfo::has_lengths_num() const {
  return _internal_has_lengths_num();
}
inline void PrefixesInfo::clear_lengths_num() {
  lengths_num_ = 0;
  _has_bits_[0] &= ~0x00000002u;
}
inline ::PROTOBUF_NAMESPACE_ID::int32 PrefixesInfo::_internal_lengths_num() const {
  return lengths_num_;
}
inline ::PROTOBUF_NAMESPACE_ID::int32 PrefixesInfo::lengths_num() const {
  // @@protoc_insertion_point(field_get:i18n.phonenumbers.PrefixesInfo.lengths_num)
  return _internal_lengths_num();
}
inline void PrefixesInfo::_internal_set_lengths_num(::PROTOBUF_NAMESPACE_ID::int32 value) {
  _has_bits_[0] |= 0x00000002u;
  lengths_num_ = value;
}
inline void PrefixesInfo::set_lengths_num(::PROTOBUF_NAMESPACE_ID::int32 value) {
  _internal_set_lengths_num(value);
  // @@protoc_insertion_point(field_set:i18n.phonenumbers.PrefixesInfo.lengths_num)
}

// repeated int32 lengths = 5;
inline int PrefixesInfo::_internal_lengths_size() const {
  return lengths_.size();
}
inline int PrefixesInfo::lengths_size() const {
  return _internal_lengths_size();
}
inline void PrefixesInfo::clear_lengths() {
  lengths_.Clear();
}
inline ::PROTOBUF_NAMESPACE_ID::int32 PrefixesInfo::_internal_lengths(int index) const {
  return lengths_.Get(index);
}
inline ::PROTOBUF_NAMESPACE_ID::int32 PrefixesInfo::lengths(int index) const {
  // @@protoc_insertion_point(field_get:i18n.phonenumbers.PrefixesInfo.lengths)
  return _internal_lengths(index);
}
inline void PrefixesInfo::set_lengths(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
  lengths_.Set(index, value);
  // @@protoc_insertion_point(field_set:i18n.phonenumbers.PrefixesInfo.lengths)
}
inline void PrefixesInfo::_internal_add_lengths(::PROTOBUF_NAMESPACE_ID::int32 value) {
  lengths_.Add(value);
}
inline void PrefixesInfo::add_lengths(::PROTOBUF_NAMESPACE_ID::int32 value) {
  _internal_add_lengths(value);
  // @@protoc_insertion_point(field_add:i18n.phonenumbers.PrefixesInfo.lengths)
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
PrefixesInfo::_internal_lengths() const {
  return lengths_;
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
PrefixesInfo::lengths() const {
  // @@protoc_insertion_point(field_list:i18n.phonenumbers.PrefixesInfo.lengths)
  return _internal_lengths();
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
PrefixesInfo::_internal_mutable_lengths() {
  return &lengths_;
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
PrefixesInfo::mutable_lengths() {
  // @@protoc_insertion_point(field_mutable_list:i18n.phonenumbers.PrefixesInfo.lengths)
  return _internal_mutable_lengths();
}

// -------------------------------------------------------------------

// LanguageCodeInfo

// required int32 language_codes_num = 1;
inline bool LanguageCodeInfo::_internal_has_language_codes_num() const {
  bool value = (_has_bits_[0] & 0x00000001u) != 0;
  return value;
}
inline bool LanguageCodeInfo::has_language_codes_num() const {
  return _internal_has_language_codes_num();
}
inline void LanguageCodeInfo::clear_language_codes_num() {
  language_codes_num_ = 0;
  _has_bits_[0] &= ~0x00000001u;
}
inline ::PROTOBUF_NAMESPACE_ID::int32 LanguageCodeInfo::_internal_language_codes_num() const {
  return language_codes_num_;
}
inline ::PROTOBUF_NAMESPACE_ID::int32 LanguageCodeInfo::language_codes_num() const {
  // @@protoc_insertion_point(field_get:i18n.phonenumbers.LanguageCodeInfo.language_codes_num)
  return _internal_language_codes_num();
}
inline void LanguageCodeInfo::_internal_set_language_codes_num(::PROTOBUF_NAMESPACE_ID::int32 value) {
  _has_bits_[0] |= 0x00000001u;
  language_codes_num_ = value;
}
inline void LanguageCodeInfo::set_language_codes_num(::PROTOBUF_NAMESPACE_ID::int32 value) {
  _internal_set_language_codes_num(value);
  // @@protoc_insertion_point(field_set:i18n.phonenumbers.LanguageCodeInfo.language_codes_num)
}

// repeated string language_codes = 2;
inline int LanguageCodeInfo::_internal_language_codes_size() const {
  return language_codes_.size();
}
inline int LanguageCodeInfo::language_codes_size() const {
  return _internal_language_codes_size();
}
inline void LanguageCodeInfo::clear_language_codes() {
  language_codes_.Clear();
}
inline std::string* LanguageCodeInfo::add_language_codes() {
  // @@protoc_insertion_point(field_add_mutable:i18n.phonenumbers.LanguageCodeInfo.language_codes)
  return _internal_add_language_codes();
}
inline const std::string& LanguageCodeInfo::_internal_language_codes(int index) const {
  return language_codes_.Get(index);
}
inline const std::string& LanguageCodeInfo::language_codes(int index) const {
  // @@protoc_insertion_point(field_get:i18n.phonenumbers.LanguageCodeInfo.language_codes)
  return _internal_language_codes(index);
}
inline std::string* LanguageCodeInfo::mutable_language_codes(int index) {
  // @@protoc_insertion_point(field_mutable:i18n.phonenumbers.LanguageCodeInfo.language_codes)
  return language_codes_.Mutable(index);
}
inline void LanguageCodeInfo::set_language_codes(int index, const std::string& value) {
  // @@protoc_insertion_point(field_set:i18n.phonenumbers.LanguageCodeInfo.language_codes)
  language_codes_.Mutable(index)->assign(value);
}
inline void LanguageCodeInfo::set_language_codes(int index, std::string&& value) {
  // @@protoc_insertion_point(field_set:i18n.phonenumbers.LanguageCodeInfo.language_codes)
  language_codes_.Mutable(index)->assign(std::move(value));
}
inline void LanguageCodeInfo::set_language_codes(int index, const char* value) {
  GOOGLE_DCHECK(value != nullptr);
  language_codes_.Mutable(index)->assign(value);
  // @@protoc_insertion_point(field_set_char:i18n.phonenumbers.LanguageCodeInfo.language_codes)
}
inline void LanguageCodeInfo::set_language_codes(int index, const char* value, size_t size) {
  language_codes_.Mutable(index)->assign(
    reinterpret_cast<const char*>(value), size);
  // @@protoc_insertion_point(field_set_pointer:i18n.phonenumbers.LanguageCodeInfo.language_codes)
}
inline std::string* LanguageCodeInfo::_internal_add_language_codes() {
  return language_codes_.Add();
}
inline void LanguageCodeInfo::add_language_codes(const std::string& value) {
  language_codes_.Add()->assign(value);
  // @@protoc_insertion_point(field_add:i18n.phonenumbers.LanguageCodeInfo.language_codes)
}
inline void LanguageCodeInfo::add_language_codes(std::string&& value) {
  language_codes_.Add(std::move(value));
  // @@protoc_insertion_point(field_add:i18n.phonenumbers.LanguageCodeInfo.language_codes)
}
inline void LanguageCodeInfo::add_language_codes(const char* value) {
  GOOGLE_DCHECK(value != nullptr);
  language_codes_.Add()->assign(value);
  // @@protoc_insertion_point(field_add_char:i18n.phonenumbers.LanguageCodeInfo.language_codes)
}
inline void LanguageCodeInfo::add_language_codes(const char* value, size_t size) {
  language_codes_.Add()->assign(reinterpret_cast<const char*>(value), size);
  // @@protoc_insertion_point(field_add_pointer:i18n.phonenumbers.LanguageCodeInfo.language_codes)
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>&
LanguageCodeInfo::language_codes() const {
  // @@protoc_insertion_point(field_list:i18n.phonenumbers.LanguageCodeInfo.language_codes)
  return language_codes_;
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>*
LanguageCodeInfo::mutable_language_codes() {
  // @@protoc_insertion_point(field_mutable_list:i18n.phonenumbers.LanguageCodeInfo.language_codes)
  return &language_codes_;
}

// -------------------------------------------------------------------

// CountriesInfo

// required int32 country_languages_num = 1;
inline bool CountriesInfo::_internal_has_country_languages_num() const {
  bool value = (_has_bits_[0] & 0x00000001u) != 0;
  return value;
}
inline bool CountriesInfo::has_country_languages_num() const {
  return _internal_has_country_languages_num();
}
inline void CountriesInfo::clear_country_languages_num() {
  country_languages_num_ = 0;
  _has_bits_[0] &= ~0x00000001u;
}
inline ::PROTOBUF_NAMESPACE_ID::int32 CountriesInfo::_internal_country_languages_num() const {
  return country_languages_num_;
}
inline ::PROTOBUF_NAMESPACE_ID::int32 CountriesInfo::country_languages_num() const {
  // @@protoc_insertion_point(field_get:i18n.phonenumbers.CountriesInfo.country_languages_num)
  return _internal_country_languages_num();
}
inline void CountriesInfo::_internal_set_country_languages_num(::PROTOBUF_NAMESPACE_ID::int32 value) {
  _has_bits_[0] |= 0x00000001u;
  country_languages_num_ = value;
}
inline void CountriesInfo::set_country_languages_num(::PROTOBUF_NAMESPACE_ID::int32 value) {
  _internal_set_country_languages_num(value);
  // @@protoc_insertion_point(field_set:i18n.phonenumbers.CountriesInfo.country_languages_num)
}

// repeated string country_languages = 2;
inline int CountriesInfo::_internal_country_languages_size() const {
  return country_languages_.size();
}
inline int CountriesInfo::country_languages_size() const {
  return _internal_country_languages_size();
}
inline void CountriesInfo::clear_country_languages() {
  country_languages_.Clear();
}
inline std::string* CountriesInfo::add_country_languages() {
  // @@protoc_insertion_point(field_add_mutable:i18n.phonenumbers.CountriesInfo.country_languages)
  return _internal_add_country_languages();
}
inline const std::string& CountriesInfo::_internal_country_languages(int index) const {
  return country_languages_.Get(index);
}
inline const std::string& CountriesInfo::country_languages(int index) const {
  // @@protoc_insertion_point(field_get:i18n.phonenumbers.CountriesInfo.country_languages)
  return _internal_country_languages(index);
}
inline std::string* CountriesInfo::mutable_country_languages(int index) {
  // @@protoc_insertion_point(field_mutable:i18n.phonenumbers.CountriesInfo.country_languages)
  return country_languages_.Mutable(index);
}
inline void CountriesInfo::set_country_languages(int index, const std::string& value) {
  // @@protoc_insertion_point(field_set:i18n.phonenumbers.CountriesInfo.country_languages)
  country_languages_.Mutable(index)->assign(value);
}
inline void CountriesInfo::set_country_languages(int index, std::string&& value) {
  // @@protoc_insertion_point(field_set:i18n.phonenumbers.CountriesInfo.country_languages)
  country_languages_.Mutable(index)->assign(std::move(value));
}
inline void CountriesInfo::set_country_languages(int index, const char* value) {
  GOOGLE_DCHECK(value != nullptr);
  country_languages_.Mutable(index)->assign(value);
  // @@protoc_insertion_point(field_set_char:i18n.phonenumbers.CountriesInfo.country_languages)
}
inline void CountriesInfo::set_country_languages(int index, const char* value, size_t size) {
  country_languages_.Mutable(index)->assign(
    reinterpret_cast<const char*>(value), size);
  // @@protoc_insertion_point(field_set_pointer:i18n.phonenumbers.CountriesInfo.country_languages)
}
inline std::string* CountriesInfo::_internal_add_country_languages() {
  return country_languages_.Add();
}
inline void CountriesInfo::add_country_languages(const std::string& value) {
  country_languages_.Add()->assign(value);
  // @@protoc_insertion_point(field_add:i18n.phonenumbers.CountriesInfo.country_languages)
}
inline void CountriesInfo::add_country_languages(std::string&& value) {
  country_languages_.Add(std::move(value));
  // @@protoc_insertion_point(field_add:i18n.phonenumbers.CountriesInfo.country_languages)
}
inline void CountriesInfo::add_country_languages(const char* value) {
  GOOGLE_DCHECK(value != nullptr);
  country_languages_.Add()->assign(value);
  // @@protoc_insertion_point(field_add_char:i18n.phonenumbers.CountriesInfo.country_languages)
}
inline void CountriesInfo::add_country_languages(const char* value, size_t size) {
  country_languages_.Add()->assign(reinterpret_cast<const char*>(value), size);
  // @@protoc_insertion_point(field_add_pointer:i18n.phonenumbers.CountriesInfo.country_languages)
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>&
CountriesInfo::country_languages() const {
  // @@protoc_insertion_point(field_list:i18n.phonenumbers.CountriesInfo.country_languages)
  return country_languages_;
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>*
CountriesInfo::mutable_country_languages() {
  // @@protoc_insertion_point(field_mutable_list:i18n.phonenumbers.CountriesInfo.country_languages)
  return &country_languages_;
}

// -------------------------------------------------------------------

// CountryCodeInfo

// required int32 country_codes_num = 1;
inline bool CountryCodeInfo::_internal_has_country_codes_num() const {
  bool value = (_has_bits_[0] & 0x00000001u) != 0;
  return value;
}
inline bool CountryCodeInfo::has_country_codes_num() const {
  return _internal_has_country_codes_num();
}
inline void CountryCodeInfo::clear_country_codes_num() {
  country_codes_num_ = 0;
  _has_bits_[0] &= ~0x00000001u;
}
inline ::PROTOBUF_NAMESPACE_ID::int32 CountryCodeInfo::_internal_country_codes_num() const {
  return country_codes_num_;
}
inline ::PROTOBUF_NAMESPACE_ID::int32 CountryCodeInfo::country_codes_num() const {
  // @@protoc_insertion_point(field_get:i18n.phonenumbers.CountryCodeInfo.country_codes_num)
  return _internal_country_codes_num();
}
inline void CountryCodeInfo::_internal_set_country_codes_num(::PROTOBUF_NAMESPACE_ID::int32 value) {
  _has_bits_[0] |= 0x00000001u;
  country_codes_num_ = value;
}
inline void CountryCodeInfo::set_country_codes_num(::PROTOBUF_NAMESPACE_ID::int32 value) {
  _internal_set_country_codes_num(value);
  // @@protoc_insertion_point(field_set:i18n.phonenumbers.CountryCodeInfo.country_codes_num)
}

// repeated int32 country_codes = 2;
inline int CountryCodeInfo::_internal_country_codes_size() const {
  return country_codes_.size();
}
inline int CountryCodeInfo::country_codes_size() const {
  return _internal_country_codes_size();
}
inline void CountryCodeInfo::clear_country_codes() {
  country_codes_.Clear();
}
inline ::PROTOBUF_NAMESPACE_ID::int32 CountryCodeInfo::_internal_country_codes(int index) const {
  return country_codes_.Get(index);
}
inline ::PROTOBUF_NAMESPACE_ID::int32 CountryCodeInfo::country_codes(int index) const {
  // @@protoc_insertion_point(field_get:i18n.phonenumbers.CountryCodeInfo.country_codes)
  return _internal_country_codes(index);
}
inline void CountryCodeInfo::set_country_codes(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
  country_codes_.Set(index, value);
  // @@protoc_insertion_point(field_set:i18n.phonenumbers.CountryCodeInfo.country_codes)
}
inline void CountryCodeInfo::_internal_add_country_codes(::PROTOBUF_NAMESPACE_ID::int32 value) {
  country_codes_.Add(value);
}
inline void CountryCodeInfo::add_country_codes(::PROTOBUF_NAMESPACE_ID::int32 value) {
  _internal_add_country_codes(value);
  // @@protoc_insertion_point(field_add:i18n.phonenumbers.CountryCodeInfo.country_codes)
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
CountryCodeInfo::_internal_country_codes() const {
  return country_codes_;
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
CountryCodeInfo::country_codes() const {
  // @@protoc_insertion_point(field_list:i18n.phonenumbers.CountryCodeInfo.country_codes)
  return _internal_country_codes();
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
CountryCodeInfo::_internal_mutable_country_codes() {
  return &country_codes_;
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
CountryCodeInfo::mutable_country_codes() {
  // @@protoc_insertion_point(field_mutable_list:i18n.phonenumbers.CountryCodeInfo.country_codes)
  return _internal_mutable_country_codes();
}

#ifdef __GNUC__
  #pragma GCC diagnostic pop
#endif  // __GNUC__
// -------------------------------------------------------------------

// -------------------------------------------------------------------

// -------------------------------------------------------------------

// -------------------------------------------------------------------


// @@protoc_insertion_point(namespace_scope)

}  // namespace phonenumbers
}  // namespace i18n

// @@protoc_insertion_point(global_scope)

#include <google/protobuf/port_undef.inc>
#endif  // GOOGLE_PROTOBUF_INCLUDED_GOOGLE_PROTOBUF_INCLUDED_geocoding_5fdata_2eproto
